home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-05-12 | 39.2 KB | 1,123 lines |
-
-
-
- - 1 -
-
-
-
- 1. _P_a_t_c_h__S_G_0_0_0_2_7_7_7__R_e_l_e_a_s_e__N_o_t_e
-
- This release note describes patch SG0002777 to IRIX 6.2.
-
- Patch SG0002777 replaces patches SG0001990, SG0001717,
- SG0001733, SG0001650, SG0001624, SG0001622, SG0001569,
- SG0001488, SG0001534, SG0001493, SG0001429, SG0001389,
- SG0001353, SG0001323, SG0001243, SG0001222, SG0002187, and
- SG0002298.
-
- 1.1 _S_u_p_p_o_r_t_e_d__H_a_r_d_w_a_r_e__P_l_a_t_f_o_r_m_s
-
- This patch contains bug fixes for Crimson and all Challenge
- systems except for Challenge S and Power Challenge M.
-
-
- 1.2 _S_u_p_p_o_r_t_e_d__S_o_f_t_w_a_r_e__P_l_a_t_f_o_r_m_s
-
- This patch contains bug fixes for IRIX 6.2 (version
- 1232792137). The software cannot be installed on other
- configurations.
-
- 1.3 _B_u_g_s__F_i_x_e_d__b_y__P_a_t_c_h__S_G_0_0_0_2_7_7_7
-
- This patch contains fixes for the following bugs in IRIX
- 6.2. Bug numbers from Silicon Graphics bug tracking system
- are included for reference. For bugs fixed in prior
- patches, fix descriptions are grouped under the replaced
- patches.
-
- +o Bug #559619 : The bug was that sysmips(MIPS_FIXADE, 1,
- 0, 0) was not working properly. And indeed, for
- double-word stores, this was broken since 6.2 shipped.
- This bug affected platforms that use 32-bit kernels -
- IP17, IP20, and IP22. This also only affected n32-
- based binaries. Store-doubles that were 'fixed' by
- FIXADE would be trashed, so subsequent uses of that
- data would return trash.
-
- +o Bug #552632 : After using prctl(PR_SETABORTSIG) to
- establish a sproc() group abort signal, a subsequent
- exec() by a sproc() thread caused the abort signal to
- be sent.
-
- +o Bug #551348 : Scache error handling fixes for IP19
- platforms.
-
- +o Bug #531626 : Addresses scaling problem for I/O on
- pollable channels. This includes sockets, pipes, and
- most devices.
-
-
-
-
-
-
-
-
-
-
-
-
- - 2 -
-
-
-
- +o Bug #528471 : This fixes a crash caused when a file
- that is mmapped by a process is truncated by another
- process.
-
- +o Bug #520131 : Fixes HARDWARE ERROR STATE contains
- useless information. This was only relevant on IP25-
- based systems where speculation could cause an
- undesirable side-effect and in some cases there would
- be useless info from the analysis.
-
- +o Bug #519323 : Need to log panic output to NVRAM on
- Challenge. We now store PANIC string in NVRAM as well
- as EFrame when there is a SW failure. For Hardware
- failures we store the output of the FRU analzer as well
- as the panic string. Use the "nvlog" command to read
- the NVRAM log, use "nvlog -c" to clear it.
-
- +o Bug #520020 : Kernel should dump eframe to
- putbuf/promlog on panic. We now dump the panic string
- to the NVRAM as well so that we can determine the
- source of the failure.
-
- +o Bug #520021 : Should dump eframe into nvram and the
- putbuf for kernel faults.
-
- +o Bug #520022 : Need a fru analyzer patch for Irix 6.2
- Challenges. This patch includes the FRU analyzer for
- hardware failure analysis.
-
- +o Bug #525192 : IP19 system hang and loss of nvram
- variables. Buffer ovverrun when running Debug kernels
- and lots of panic output. Fixed with new NVRAM logging
- codes.
-
- +o Bug #517393 : Patches 2401 and 2119 did not work for
- Challenge DM systems (Single CPU IP19). This was
- because of a problem with the tlbmiss handler which had
- too many instructions for 250Mhz IP19 systems. We now
- use the MP utlbmiss prologue for IP19 and treat all
- IP19 (MP/UP) in the same way (fixing the problem).
- Customers who install this patch will have all the
- latest bugfixes.
-
- +o Bug #502234 : Fix problems with pthread programs
- freeing the posix timer structure multiple times in the
- exec and exit paths.
-
- +o Bug #474898 : Fix cases where NLM cancel requests are
- not honored properly.
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 3 -
-
-
-
- +o Bug #438964 : Fix possible kernel panics during NLM
- request processing.
-
- +o Bug #377254 : Race condition between vhand and sched
- accessing page tables Fix a bug involving a race
- condition between vhand and sched. Due to the way
- locking is implemented, it was possible for sched to be
- trimming the page table of a process while vhand is
- trying steal pages from that process. This could have
- potential race condition, and result in a system crash.
- This has been fixed.
-
- +o Bug #456165 : With a large number of processes and
- open files on the system, we were overflowing the
- reference count field in the kernel internal credential
- structure that was leading to kmem_zone_alloc panics.
- This has been fixed in this patch by using a larger
- field to hold the reference count.
-
- +o Bug #494445 : prctl(PR_SETEXITSIG, signal) doesn't
- provide the semantics needed by most multi-threaded
- applications. The semantics of PR_SETEXITSIG were
- defined at a time when parallel Fortran codes were the
- order of the day. In that world, if any thread exited
- the application for any reason whatsoever, the
- application needed to terminate. With multi-threaded
- applications there is still the desire to terminate the
- application if any of the threads terminate abnormally,
- but calls to exit() and exec() by a thread shouldn't
- cause application termination. This patch adds a new
- prctl(PR_SETABORTSIG, signal) which does exactly that.
- If any thread aborts due to a signal, the share group
- will be sent the specified signal. On the other hand,
- if a thread exits the share group via a call to exit()
- or exec() the signal will not be sent. PR_SETEXITSIG
- and PR_SETABORTSIG are mutually exclusive; setting
- either one will nullify any previous setting of the
- other. As with PR_SETEXITSIG, doing a
- prctl(PR_SETABORTSIG, 0) disables the abort signal
- processing.
-
- +o Bug #493505 : The kernel messages and handling of
- these messages in response to an NMI was incorrect.
-
- +o Bug #483230 : Debugging of programs that used sproc
- and shared memory could cause a kernel memory leak,
- leading to out of memory conditions in extreme cases.
-
- +o Bug #477641 : When gang processes are executed while
- simultaneously isolating/restricting processors, the
- system can hang. This bug has been particularly
-
-
-
-
-
-
-
-
-
-
-
- - 4 -
-
-
-
- encountered while running Sirius application which
- performs isolation/restriction. Also see 505362 below.
-
- +o Bug #470142 : A data structure that links related
- sproc processes was not being accessed with the proper
- protocol by a /proc procedure. A ps(1) that occurred
- while an sproc was exitting could have caused a system
- crash.
-
- +o Bug #464517 : An error in emulating some branch
- conditions that trap into the kernel was fixed. With
- some input values, this could affect the results of the
- exp() library function.
-
- +o Bug #494132: Fixed a buffer overrun security
- vulnerability in the _p_s_e_t(1M) command.
-
- +o Bug #494558 : When a cpu cach error occurs on an IP19,
- the ecc_handler was not using the correct pair of data
- words to compute the expected ECC and hence was not
- correctly determining whether the error was correctable
- or uncorrectable.
-
- +o Bug #705897 : ORIGIN PROGRAM FAILS WITH F77 7.2 USING
- -O3
- This was a bug in the floating point emulation code in
- the kernel. If a floating point exception is taken on
- an instruction in a branch delay slot, the kernel must
- emulate the branch in order to compute the proper
- program counter for the faulting program. The emulation
- code for the MIPS4 bc1t/bc1f family of instructions was
- incorrect, thus resulting in an incorrect program
- counter when the user program was restarted after the
- exception.
-
- +o Bug #488923 : Allow R10K Revision 3.X parts in IP25
- systems.
-
- +o Bug #505850 : Corrects corrupted in memory inode when
- an open O_TRUNC system call for a DMAPI file is
- rejected by the DMAPI application.
-
- +o Bug #484792 : mmap() and mmap64() at file offsets > 2
- GByte had problems.
-
- +o Bug #506220 : idbg stops printing when a DMAPI file
- system encountered.
-
- +o Bug #507109 : System controller daemon should print
- more useful information about unknown alarms and
- conditions. The system controller daemon did not
-
-
-
-
-
-
-
-
-
-
-
- - 5 -
-
-
-
- previously list a voltage supply as having VDC
- variance, now it logs such conditions. Also, the system
- controller will now log unknown alarms and monitor
- blower speeds more accurately.
-
- +o Bug #507093 : Race condition in Everest error handler
- could cause double panic. This was a bug dealing with
- Everest error handler code which did not use a TAS to
- avoid a race condition.
-
- +o Bug #504209 : VMECC panic due to simple memory access
- from single board computer. On IP25 systems, due to
- the speculative execution of the R10K, it is possible
- that we can take a CC error interrupt and not see any
- CC_ERTOIP bit set. This can happen if this cpu is
- getting IP25_CC_ERROR_MY_DATA as a result of another
- cpu doing a vme probe which results in an error. This
- is caused by a bug in the A-chip and is fixed by
- checking to see if IP25_CC_ERROR_PARITY_D is caused by
- a user level vme probe, and if so, clear the error and
- clear the IP25_CC_ERROR_MY_DATA error for all other
- cpus.
-
- +o Bug #505362 : Correct a fix for bug #477641, which can
- be seen in patch 2119. With patch 2119, where the fix
- is incorrect, the system may hang when
- sysmp(MP_ISOLATE), sysmp(MP_UNISOLATE),
- sysmp(MP_RESTRICT) or sysmp(MP_EMPOWER) is performed;
- typically, these system calls are issued by the
- mpadmin(1M) system utility program.
-
- +o Bug #511559 : It was possible for the fsync system
- call to return before all file data was flushed to disk
- on an XFS filesystem.
-
- +o Bug #512105 : This patch contains a fix for a problem
- that can cause systems to cease responding to network
- requests when the system is low on memory under certain
- conditions. The problem has only been seen on systems
- running more than 10,000 Netscape server processes, but
- it could theoretically happen on less heavily loaded
- machines. The problem is caused when the system is low
- on memory and the paging daemon wakes up the shake
- daemon ('shaked') in an attempt to free memory
- resources used by some of the kernel's internal
- allocation mechanisms. The shake daemon can run for
- many seconds without yielding the cpu and there is a
- bug that causes processes which still have affinity to
- the cpu on which the shaked thread is running not to be
- moved off the local run queue of that cpu. As a result
- they can't run, even though they are ready to run,
-
-
-
-
-
-
-
-
-
-
-
- - 6 -
-
-
-
- until the shake daemon finishes. If one of those
- ready-to-run processes holds a kernel resource (lock,
- mutex or semaphore) on which other processes are
- waiting, then the system can appear to be hung for
- seconds or minutes. The fix insures that the ready-
- to-run processes get moved to the global run queue to
- be executed by other cpus, even when the original cpu
- is executing kernel thread as opposed to a normal user
- process.
-
- +o Bug #523501: A header file change in patch 2187 caused
- the _p_s_e_t(1M) command to malfunction in that patch. In
- the current patch and later patches, _p_s_e_t(1M) has been
- recompiled in order to pick up the new structure
- definitions.
-
- +o Bug #526031 : Correct a problem where gather_chunk is
- recursively called during a low memory situation, with
- the buffer already locked. By examining 6.3 and 6.4
- code pathes, it appears that this problem was fixed as
- a result of PV 414081. This code is already in 6.3 and
- 6.4.
-
- Bugs fixed in Patch SG0001990:
-
- +o Bug #470926 : All pthreads in a pthread program did
- not share the posix timer ids. With this patch all
- pthreads share the timerid name space.
-
- +o Bug #421932 : Calling suser form interrupt causes
- <0>PANIC: CPU 0: vfault: curproc is NULL. CAP_ABLE was
- being used to check credential of process. Problem is
- that action could be the result of a STREAMS service
- routine and there is either no process or the process
- is not the one who made the request.
-
- +o Bug #439590 : streams perf problem.
- spinunlock_qmonitor uses the timeout thread to execute
- deferred monitor requests on the global monitor. This
- introduces excessive latency. This is replaced by a
- pool of kernel threads. Note this patch disables the
- systune "monqtimeout" parameter.
-
- +o Bug #465038 : Bug #470796 : For IP25 systems only,
- fixed a graphics performance problem introduced as a
- side effect of another bug fix.
-
- +o Bug #469770 : This is a fix for an R4000/R4400 chip
- bug. The chip bug went as follows: In the tlbmiss
- refill handler, we had the C0_WRITER opcode in the
- delay slot of a branch instruction. That branch/WRITER
-
-
-
-
-
-
-
-
-
-
-
- - 7 -
-
-
-
- pair was near the end of the icache line. Suppose that
- there is a C0_READI hanging out in the icache, and that
- READI happens to be in the first word of the next line
- of the icache. The R4000/4400 starts the READI down the
- pipeline before it realizes that it is actually a cache
- miss, but apparently some processor state is not
- properly restored when the READI is killed. This leads
- to a processor hang.
-
- +o Bug #478104 : Software should set 90 Mhz IP21 cpus
- boards to low 3V for better HW margins.
-
- +o Bug #479714 : This is a bug where nanosleep remainders
- were a factor of 10 too big on IP22, IP26 and IP28 when
- the process has real time priority.
-
- +o Bug #480136 : This is a fix where EPERM somtimes would
- be incorrectly returned as an error for the nanosleep
- system call.
-
- +o Bug #483943 : This patch adds a common API for MIPS
- ABI applications to support licensing requirements.
- The command _MIPS_SI_SERIAL is added to sysinfo() to
- return a unique hardware serial number. See
- "sys/systeminfo.h" for the definition of
- _MIPS_SI_SERIAL.
-
- Bugs fixed in Patch SG0001717:
-
- +o Bug #372937 : Enabled macro names for reader/writer
- lock operations such as RW_LOCK in
- usr/include/sys/ksynch.h.
-
- +o Bug #405092 : For IP21 systems only, include the
- missing vmeuli.o binary.
-
- +o Bug #450840 : For IP25, serialize config writes/intrs
- to avoid a potential hardware deadlock.
-
- +o Bug #453979 : For IP25, turn off piggyback reads to
- avoid a potential hardware hang.
-
- +o Bug #455481 : For Challenge (EVEREST) systems,
- increased the dang chip timeout since it was too small.
-
- +o Bug #457843 : For IP21 systems only, correct a kernel
- fault in the ULI_wakeup library call.
-
- +o Bug #465061 : Passing bogus values into sprofil()
- could panic kernel.
-
-
-
-
-
-
-
-
-
-
-
-
- - 8 -
-
-
-
- +o Bug #465063 : Possible kernel panic when using
- WorkShop's "Step Over" function on a pthreads
- application.
-
- +o Bug #469254 : For EVEREST systems, stop all cpus
- before reading MC3 Config Registers to avoid a
- potential hang.
-
- +o Bug #470333 : One case of unique id (uuid) comparison
- in the kernel was incorrect; also the error codes
- returned for different flavors of invalid uuids were
- not in compliance with the DCE specification.
-
- Bugs fixed in Patch SG0001733:
-
- +o Bug #451134 : For Challenge (EVEREST) systems, use
- uncached reads to synchronize between cpus and io
- instead of config read of an A-chip reg. This fixes a
- hardware deadlock.
-
- Bugs fixed in Patch SG0001650:
-
- +o Bug #412011 : Fixes bug which amongst other things
- would result in error messages like
- "preg_color_validation: virtual color mismatch" when
- running some N32 applications on earlier revisions of
- the R5000 CPU.
-
- +o Bug #425381 : Fixes a very slow kernel page leak which
- occurs when running N32 applications on earlier
- revisions of the R5000 CPU which require the workaround
- for the cvt instruction.
-
- +o Bug #433639 : If the clock crystal is off a little bit
- (either inherently slightly off speed or due to
- temperature), an Indy may be confused about whether it
- has a 175Mhz (R4400) or 180Mhz (R5000) processor. This
- could lead to incorrect output from hinv, the system
- clock may run inaccurately, etc.
-
- +o Bug #443076 : The newarraysess(2) system call was
- unnecessarily restricted to the superuser. Any user
- may now execute the newarraysess system call, although
- superuser privileges are still needed to actually
- modify the array session handle.
-
- +o Bug #445198 : Update memory system support for on the
- Indigo2 10000 for systems with two or three memory
- banks that include one bank of 64MB SIMMs (256MB
- upgrade). Affected configurations cannot use the
- kernel debugger, symmon with this change, until the
-
-
-
-
-
-
-
-
-
-
-
- - 9 -
-
-
-
- next major IRIX release.
-
- +o Bug #447743 : Truncate system calls to files in XFS
- filesystems did not check for write permission
- correctly. A current XFS kernel patch is also required
- for the complete fix to this problem.
-
- +o Bug #448015 : For IP25 systems only, this fixes a
- panic introduced in patch1624 in mc3 error logging
- code.
-
- +o Bug #448859 : The uuid routines were not checking for
- illegal uuid variants. The changes here affect only
- kernel users of the uuid routines. The fix for
- programs that use the uuid(3) routines is in libc in
- rollup patch 1571 (and its successors).
-
- +o Bug #450581 : For IP25 systems only, this fixes a
- panic introduced in patch1624 in io4 error clearing
- code.
-
- Bugs fixed in Patch SG0001624:
-
- +o Bug #310210, #373477, #391065, #430303 : Fix panics in
- audit system.
-
- +o Bug #345536 : The kernel open file offset pointer was
- not always managed correctly. This could happen when
- simultaneous or overlapping read or write operations
- were made to a user file descriptor that was being
- shared (either parent and child process sharing file
- descriptors or an sproc(2) group created with the
- PR_SFDS or PR_SALL attributes).
-
- +o Bug #480640 : A pthread that blocked a particular
- signal then attempted to wait for the signal via
- sigwait(3) or sigtimedwait(3) would not be notified of
- the signal's delivery.
-
- +o Bug #358103 : par command has partial write problem
- when timer goes off and interrupts the write.
-
- +o Bug #358534 : The syssgi() call for SGI_DBA_CONFIG was
- not correctly returning the current parameters for
- kernel async I/O. This fix corrects that problem.
-
- +o Bug #358539 : A performance enhancement for disk I/O
- was inadvertently removed from the 6.2 release. This
- fix reinstates that enhancement.
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 10 -
-
-
-
- +o Bug #360218 : IRIX 6.2 is now Posix 1003.1b compliant.
- Kernel support for Posix: message passing, process
- memory locking, real-time scheduling, semaphores, and
- timers has been added.
-
- +o Bug #381260 : Direct I/O read on IP28 needs R10000
- speculative execution workaround.
-
- +o Bug #383918 : Partial support for the server side of
- the Bulk Data Service.
-
- +o Bug #388860 : Fixes the shmctl hang that occurs when
- an invalid shared memory segment is specified for
- removal.
-
- +o Bug #418568 : This fixes a scip code panic for IP19
- and IP25 systems. The code makes sure that PIOWRITES
- are flushed out to IO in the right sequence. Fixed
- this bug for R8k Power Challenges (IP21) as well.
-
- +o Bug #418570 : For IP25 only, this code is a workaround
- for an R10000 LL/SC bug.
-
- +o Bug #423671 : Temp. fix to get around the known sat
- (system audit trail) subsytem bug which panics the
- kernel. This change excludes sat. If reqd., sat needs
- to be included explicitly after the patch is installed.
-
- +o Bug #423676 : Adds missing file offset mutex
- constructors and destructors.
-
- +o Bug #423841 : User called cacheflush fixed for R10000
- based Challenge/POWER Challange.
-
- +o Bug #428281 : If a program using kernel async I/O
- placed an aio request block at an address higher than
- 0xffffffff, only the lower 32 bits of the pointer would
- be used. With this fix, programs may safely place
- request blocks anywhere in the virtual address space.
-
- +o Bug #428472 : Fixed a case for R10000 based systems,
- where a bad user address passed as an argument to
- syscall would panic the system.
-
- +o Bug #429948 : Fixes accuracy of POSIX timers using
- absolute time on an Indy.
-
- +o Bug #431097 : Fixes return values for rtlocks.
-
- +o Bug #431100 : Fixes the NFS nanosleep interface,
- returning the proper time remainder when interrupted.
-
-
-
-
-
-
-
-
-
-
-
- - 11 -
-
-
-
- +o Bug #433007 : Fixes cachectl system call.
-
- +o Bug #434065 : Fix problem which tends to show up on
- small processor count MP systems when a job uses an
- SPROC group and kernel asynch I/O. When one of the
- processes belonging to the group exits while another
- process is actively using kaio, the exiting process may
- hang the processor.Wq
-
- +o Bug #434940 : Clear IO4 error state caused by R10000
- speculation which may result in misleading FRU
- analysis.
-
- +o Bug #439394 : real-time jitter problem when accessing
- /proc. Real time processes handling SIGALRM signals
- generated by interval timers experience occasional
- delays when being accessed through /proc. The jitter
- is removed as long as /proc access is read-only and
- process has no watchpoints.
-
- +o Bug #439590 : streams perf problem. Added a tuneable
- parameter, monqtimeout, that can be adjusted by
- systune(1m) to alter the timeout between a
- streams_interrupt() call and the processing of any
- deferred streams requests. The default value is 2 ticks
- (previous value). The allowed values for "monqtimeout"
- are 0, 1, 2. Lower values will decrease the latency
- and thus improve streams performance for streams
- networking using the global streams monitor.
-
- +o Bug #442793 : Use cache aliasing and duplicate cache
- tag writes instead of secondary cache ops on IP25
- systems for SBE and cache error recovery.
-
- Bugs fixed in Patch SG0001569:
-
- +o Bug #414116 : This patch has a code modification to
- avoid a known hardware bug for the Challenge/POWER
- Challenge/Onyx platforms with R4400 and R10000
- processor.
-
- +o Bug #417299 : IP22 only: system hangs while performing
- network-intensive operations. The mouse cursor doesn't
- move, no crash dump is produced, the power button
- doesn't work; a ``paperclip reset'' is required.
-
- +o Bug #419742 : This patch fixes a bug in the
- performance monitoring code for the R10000.
-
- +o Bug #435141 : Put in validity checks for user-passed
- arguments for setitimer/getitimer calls.
-
-
-
-
-
-
-
-
-
-
-
- - 12 -
-
-
-
- Bugs fixed in Patch SG0001488:
-
- +o Bug #290185 : Fixes stack underflow/overflow crash
- that occurs during branch at end of page correction.
-
- +o Bug #348498 : Allow system dumps to be directed to
- /dev/dump instead of default swap device if /dev/dump
- exists. If /dev/dump does not exist, then /dev/swap
- will be used as before.
-
- +o Bug #396013 : Minor tuneup and optimization of the low
- level interrupt handling code for IP19 and IP25
- platforms.
-
- +o Bug #399759 : Calls to rename() for files in loopback
- filesystems were failing.
-
- +o Bug #404913 : Kernel could lock up in an endless loop
- in code which handles shared text pages modified for
- processor-specific workarounds.
-
- +o Bug #404995 : Guard against negative and other illegal
- process group IDs in function BSDsetpgrp().
-
- Bugs fixed in Patch SG0001534:
-
- +o Bug #397611 : For IP25 only, this fix is to prevent
- system hardware deadlock which results in a IO4
- EBUS_TIMEOUT error.
-
- +o Bug #399891 : For IP25 only, this fix is to prevent
- Mbuf corruption seen in ipg code.
-
- Bugs fixed in Patch SG0001429:
-
- +o Bug #254494 : The readv() and writev() system calls
- could not be used in conjunction with direct I/O.
-
- +o Bug #371229 : The /var/sysgen/Makefile.kernio supplied
- with 6.2 did not have the compile options for the IP25.
- This patch supplies a new version of the file with the
- IP25 compile options specified.
-
- +o Bug #383422 : R10K perf counters bug where if the user
- was getting a signal on overflow, then the counts were
- inexact.
-
- +o Bug #384003 : libfpe on R8K loops on an FPE when used
- with SpeedShop.
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 13 -
-
-
-
- +o Bug #385308 : R10K perf counters bug where the
- counters weren't read from the appropriate cpu.
-
- +o Bug #391815 IP28 system ECC error handler fix. A
- missing label could cause the ECC error handler on IP28
- systems to fail in random ways.
-
- +o Bug #395329 : Add support for Indigo2 IMPACT 10000
- (IP28) to kernel rollup.
-
- +o Bug #400456 : R10K Cache error recovery code for
- primary data cache and secondary cache errors could
- incorrectly invalidate a dirty line under some
- circumstances.
-
- +o Bug #403192 : Applications using large Shared Memory
- segments (greater than 500 Megs) can cause kernel
- virtual memory to be exhausted. This happens when a lot
- of independent processes (hundreds) are attaching to
- the same SHM segment. On large configurations, several
- Relational Databases may exhibit this behavior. If the
- kernel virtual memory becomes exhausted the system
- appears unable to perform any work and a reboot is
- necessary. This patch fixes this problem, by allowing
- independent processes to share the kernel data
- structures that describe their address space. These
- data structures are called Page Tables and contain
- information about the virtual to physical address
- translation. For instance let's assume that a SHM
- segment has size 750 Megabytes and 500 processes are
- attached to it. With private Page Tables IRIX uses 375
- Megabytes of Kernel Memory. With shared Page Table
- IRIX uses 750 Kilobytes. Another big benefit of
- sharing Page Table is speed. In fact any new process
- attaching to the SHM segment benefits from the page
- faulting activity performed by other attached
- processes. This dramatically reduces the number of
- page faults and makes a great difference in the overall
- performance. This patch is highly recommended for
- installation running large Oracle Data Bases.
- Processes that want to make use of this feature should
- specify a special flags when calling _s_h_m_a_t. This option
- is only available if both the attaching address and the
- size of the SHM segment satisfy appropriate
- restrictions. See _s_h_m_a_t(2) for detailed information.
-
- Bugs fixed in Patch SG0001389:
-
- +o Bug #313568 : The kernel did not contain certain
- performance enhancements which are need for a future
- release of SoftWindows.
-
-
-
-
-
-
-
-
-
-
-
- - 14 -
-
-
-
- +o Bug #357358 : Access to XFS file systems could hang
- under load from a large number of processes. The
- portion of this bug fix requiring changes to generic
- kernel subsystems is included in this patch. The other
- portion of the fix is in the XFS rollup patch.
-
- +o Bug #373353 : The shaked system daemon would sometimes
- appear to run out of control when the available memory
- in the system ran low.
-
- Bugs fixed in Patch SG0001353:
-
- +o Bug #359208 : Some multiple IO4 IP21 systems
- experience g-cache errors upon upgrading to 6.2. The
- software workaround for 323277 uncovers another
- hardware problem with the IP21 cpu which causes those
- cpus to report g-cache parity errors. The fix
- contained in this patch either eliminates or
- dramatically reduces the rate of occurrence of this g-
- cache problem. Also fixes bug in workaround for 323277
- which could occur on IP21 systems with more than 4 GB
- of physical memory.
-
- +o Bug #370236 : statfs fails for nfs mount points if the
- backing filesystem is loopback mounted on the server,
- as is the case with ISO9660 and DOS file systems.
-
- Bugs fixed in Patch SG0001323:
-
- +o Bug #375618 : The R5000 Rev. 1.1 processor sometimes
- executes cvt.d.l and cvt.s.l incorrectly.
-
- +o Bug #379617 : The initial workaround for the R5000
- Rev. 1.1 problem in regard a load or store in the delay
- slot of a branch at the end of an odd page introduced
- more system overhead than was necessary. This patch
- makes the overhead negligible.
-
- Bugs fixed in Patch SG0001243:
-
- +o Bug #362736 : A chip bug cause my ebus data error on
- IP25.
-
- Bugs fixed in Patch SG0001222:
-
- +o Bug #354768 : If the syssgi call for T5 counter
- profiling is made on an R4K machine, the call generates
- a signal, rather than just returning an error. For
- consistency with other calls, it should just return an
- error (ENODEV seems reasonable). The current behavior
- is not how the man page reads.
-
-
-
-
-
-
-
-
-
-
-
- - 15 -
-
-
-
- +o Bug #363194 : User level VME probe operations that
- failed would cause panic. This occurs on IP25 only.
-
- +o Bug #365043 : File system ``unique universal
- identifiers'' (UUIDs) were not always unique. This
- could cause problems in XFS and XLV.
-
- +o Bug #366384 : This bug would cause the prda to become
- corrupted on machines using the R4600 processor.
-
- +o Bug #376366 : Logged but undisplayed recoverable cache
- errors were not printed on system panic. This problem
- occurs on IP25 only.
-
- +o Bug #417900 : Fixed bug where sproc'ed processes may
- see kernel Instruction Bus Error panics with some
- kernels, depending on how they were linked. This
- problem occured on IMPACT 10000 (IP28) only.
-
- +o Bug #464517 : Fixed bug kernel's emulate_branch code.
- This scenario can happen whenever there is a floating
- point instruction in the shadow of one of these
- branches. Found because the exponential function in
- libfastm was sometimes failing.
-
- +o Bug #483230 : Made an optimization in the code dealing
- with shaddr sproc processes which are being debugged
- and had locked instruction pages. Each sproc being
- debugged would get its own copy of all the locked
- instruction pages, leading to bloat. This page copying
- has been minimized so that only the page which is being
- modified by the debugger (eg for setting breakpoints)
- will be made private to the target sproc.
-
- +o Bug #493505 : While taking an nmi kernel dump, set a
- special variable to enable the code not to wait for
- spinlocks (putbuf lock).
-
- 1.4 _S_u_b_s_y_s_t_e_m_s__I_n_c_l_u_d_e_d__i_n__P_a_t_c_h__S_G_0_0_0_2_7_7_7
-
- This patch release includes these subsystems:
-
- +o patchSG0002777.dev_man.irix_lib
-
- +o patchSG0002777.eoe_hdr.lib
-
- +o patchSG0002777.eoe_sw.kdebug
-
- +o patchSG0002777.eoe_sw.perf
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 16 -
-
-
-
- +o patchSG0002777.eoe_sw.unix
-
- +o patchSG0002777.nfs_sw.dskless_client
-
-
- 1.5 _I_n_s_t_a_l_l_a_t_i_o_n__I_n_s_t_r_u_c_t_i_o_n_s
-
- Because you want to install only the patches for problems
- you have encountered, patch software is not installed by
- default. After reading the descriptions of the bugs fixed
- in this patch (see Section 1.3), determine the patches that
- meet your specific needs.
-
- If, after reading Sections 1.1 and 1.2 of these release
- notes, you are unsure whether your hardware and software
- meet the requirements for installing a particular patch, run
- _i_n_s_t. The _i_n_s_t program does not allow you to install
- patches that are incompatible with your hardware or
- software.
-
- Patch software is installed like any other Silicon Graphics
- software product. Follow the instructions in your _S_o_f_t_w_a_r_e
- _I_n_s_t_a_l_l_a_t_i_o_n _A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e to bring up the miniroot
- form of the software installation tools.
-
- Follow these steps to select a patch for installation:
-
- 1. At the Inst> prompt, type
-
- iiiinnnnssssttttaaaallllllll ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
-
- where _x_x_x_x_x_x_x is the patch number.
-
- 2. Initiate the installation sequence. Type
-
- IIIInnnnsssstttt>>>> ggggoooo
-
- 3. You may find that two patches have been marked as
- incompatible. (The installation tools reject an
- installation request if an incompatibility is
- detected.) If this occurs, you must deselect one of
- the patches.
-
- IIIInnnnsssstttt>>>> kkkkeeeeeeeepppp ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
-
- where _x_x_x_x_x_x_x is the patch number.
-
- 4. After completing the installation process, exit the
- _i_n_s_t program by typing
-
- IIIInnnnsssstttt>>>> qqqquuuuiiiitttt
-
-
-
-
-
-
-
-
-
-
-
- - 17 -
-
-
-
-
-
- 1.6 _P_a_t_c_h__R_e_m_o_v_a_l__I_n_s_t_r_u_c_t_i_o_n_s
-
- To remove a patch, use the _v_e_r_s_i_o_n_s _r_e_m_o_v_e command as you
- would for any other software subsystem. The removal process
- reinstates the original version of software unless you have
- specifically removed the patch history from your system.
-
- vvvveeeerrrrssssiiiioooonnnnssss rrrreeeemmmmoooovvvveeee ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
-
- where _x_x_x_x_x_x_x is the patch number.
-
- To keep a patch but increase your disk space, use the
- _v_e_r_s_i_o_n_s _r_e_m_o_v_e_h_i_s_t command to remove the patch history.
-
- vvvveeeerrrrssssiiiioooonnnnssss rrrreeeemmmmoooovvvveeeehhhhiiiisssstttt ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
-
- where _x_x_x_x_x_x_x is the patch number.
-
- 1.7 _K_n_o_w_n__P_r_o_b_l_e_m_s
-
-
- None.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-